// 获取App信息
const app = getApp()
// 获取数据库信息
const db = wx.cloud.database()

Page({

  /**
   * 页面的初始数据
   */
  data: {
    userPhoto: ''
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {

  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {
    this.setData({
      userPhoto: app.userInfo.userPhoto
    });
  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  },

  // 从相册中选择图片
  handleUploadImage() {
    wx.chooseImage({
      count: 1,   //选择数量
      sizeType: ['compressed'],    //大小类型，此处使用压缩图片
      sourceType: ['album', 'camera'],    //图片来源，此处使用相册和拍照
      success: (res) => {
        const tempFilePaths = res.tempFilePaths[0];  //使用第一张缓存图片
        this.setData({
          //本地图片地址
          userPhoto: tempFilePaths
        });
      }
    })
  },

  // 上传自定义头像
  handleBtn() {
    // 弹出上传提示框
    wx.showLoading({
      title: '上传中'
    })
    // 云图片存储地址
    let cloudPath = "userPhoto/" + app.userInfo._openid + Date.now() + ".jpg";
    // 使用云函数上传图片
    wx.cloud.uploadFile({
      cloudPath,
      filePath: this.data.userPhoto   //本地图片地址
    }).then((res) => {
      // fileID代表云图片地址
      let fileID = res.fileID;
      if (fileID) {
        // 根据id更新头像地址
        db.collection('users').doc(app.userInfo._id).update({
          data: {
            userPhoto: fileID
          }
        }).then((res) => {
          // 关闭上传提示框
          wx.hideLoading();
          // 弹出成功提示
          wx.showToast({
            title: '上传并更新成功'
          });
          // 头像地址更新到全局变量userInfo中
          app.userInfo.userPhoto = fileID;
        });
      }
    });
  },

  // 使用微信头像
  bindGetUserInfo(ev) {
    let userInfo = ev.detail.userInfo;
    if (userInfo) {
      this.setData({
        userPhoto: userInfo.avatarUrl
      }, () => {
        // 弹出上传提示框
        wx.showLoading({
          title: '上传中'
        })
        db.collection('users').doc(app.userInfo._id).update({
          data: {
            userPhoto: userInfo.avatarUrl
          }
        }).then((res) => {
          // 关闭上传提示框
          wx.hideLoading();
          // 弹出成功提示
          wx.showToast({
            title: '上传并更新成功'
          });
          // 头像地址更新到全局变量userInfo中
          app.userInfo.userPhoto = userInfo.avatarUrl;
        });

      });
    }
  }

})